Me.Locale = New System.Globalization.CultureInfo("en-US")
Me.CaseSensitive = false
Me.EnforceConstraints = true
Me.tablePublishers = New PublishersDataTable
Me.Tables.Add(Me.tablePublishers)
Me.tableTitles = New TitlesDataTable
Me.Tables.Add(Me.tableTitles)
Dim fkc As ForeignKeyConstraint
fkc = New ForeignKeyConstraint("PubTitles", New DataColumn() {Me.tablePublishers.pub_idColumn}, New DataColumn() {Me.tableTitles.pub_idColumn})
Me.tableTitles.Constraints.Add(fkc)
fkc.AcceptRejectRule = AcceptRejectRule.None
fkc.DeleteRule = Rule.Cascade
fkc.UpdateRule = Rule.Cascade
Me.relationPubTitles = New DataRelation("PubTitles", New DataColumn() {Me.tablePublishers.pub_idColumn}, New DataColumn() {Me.tableTitles.pub_idColumn}, false)
Me.Relations.Add(Me.relationPubTitles)
End Sub
Private Function ShouldSerializePublishers() As Boolean
Return false
End Function
Private Function ShouldSerializeTitles() As Boolean
Return false
End Function
Private Sub SchemaChanged(ByVal sender As Object, ByVal e As System.ComponentModel.CollectionChangeEventArgs)
If (e.Action = System.ComponentModel.CollectionChangeAction.Remove) Then
Me.InitVars
End If
End Sub
Public Delegate Sub PublishersRowChangeEventHandler(ByVal sender As Object, ByVal e As PublishersRowChangeEvent)
Public Delegate Sub TitlesRowChangeEventHandler(ByVal sender As Object, ByVal e As TitlesRowChangeEvent)
<System.Diagnostics.DebuggerStepThrough()> _
Public Class PublishersDataTable
Inherits DataTable
Implements System.Collections.IEnumerable
Private columnpub_id As DataColumn
Private columnpub_name As DataColumn
Private columncity As DataColumn
Private columnstate As DataColumn
Private columncountry As DataColumn
Friend Sub New()
MyBase.New("Publishers")
Me.InitClass
End Sub
Friend Sub New(ByVal table As DataTable)
MyBase.New(table.TableName)
If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
Me.CaseSensitive = table.CaseSensitive
End If
If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
Me.Locale = table.Locale
End If
If (table.Namespace <> table.DataSet.Namespace) Then
Me.Namespace = table.Namespace
End If
Me.Prefix = table.Prefix
Me.MinimumCapacity = table.MinimumCapacity
Me.DisplayExpression = table.DisplayExpression
End Sub
<System.ComponentModel.Browsable(false)> _
Public ReadOnly Property Count As Integer
Get
Return Me.Rows.Count
End Get
End Property
Friend ReadOnly Property pub_idColumn As DataColumn
Get
Return Me.columnpub_id
End Get
End Property
Friend ReadOnly Property pub_nameColumn As DataColumn
Get
Return Me.columnpub_name
End Get
End Property
Friend ReadOnly Property cityColumn As DataColumn
Get
Return Me.columncity
End Get
End Property
Friend ReadOnly Property stateColumn As DataColumn
Get
Return Me.columnstate
End Get
End Property
Friend ReadOnly Property countryColumn As DataColumn
Get
Return Me.columncountry
End Get
End Property
Public Default ReadOnly Property Item(ByVal index As Integer) As PublishersRow
Get
Return CType(Me.Rows(index),PublishersRow)
End Get
End Property
Public Event PublishersRowChanged As PublishersRowChangeEventHandler
Public Event PublishersRowChanging As PublishersRowChangeEventHandler
Public Event PublishersRowDeleted As PublishersRowChangeEventHandler
Public Event PublishersRowDeleting As PublishersRowChangeEventHandler
Public Overloads Sub AddPublishersRow(ByVal row As PublishersRow)
Me.Rows.Add(row)
End Sub
Public Overloads Function AddPublishersRow(ByVal pub_id As String, ByVal pub_name As String, ByVal city As String, ByVal state As String, ByVal country As String) As PublishersRow
Dim rowPublishersRow As PublishersRow = CType(Me.NewRow,PublishersRow)
rowPublishersRow.ItemArray = New Object() {pub_id, pub_name, city, state, country}
Me.Rows.Add(rowPublishersRow)
Return rowPublishersRow
End Function
Public Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
Return Me.Rows.GetEnumerator
End Function
Public Overrides Function Clone() As DataTable
Dim cln As PublishersDataTable = CType(MyBase.Clone,PublishersDataTable)
cln.InitVars
Return cln
End Function
Friend Sub InitVars()
Me.columnpub_id = Me.Columns("pub_id")
Me.columnpub_name = Me.Columns("pub_name")
Me.columncity = Me.Columns("city")
Me.columnstate = Me.Columns("state")
Me.columncountry = Me.Columns("country")
End Sub
Private Sub InitClass()
Me.columnpub_id = New DataColumn("pub_id", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnpub_id)
Me.columnpub_name = New DataColumn("pub_name", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnpub_name)
Me.columncity = New DataColumn("city", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columncity)
Me.columnstate = New DataColumn("state", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnstate)
Me.columncountry = New DataColumn("country", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columncountry)
Me.Constraints.Add(New UniqueConstraint("Constraint1", New DataColumn() {Me.columnpub_id}, false))
Me.columnpub_id.Unique = true
End Sub
Public Function NewPublishersRow() As PublishersRow
Return CType(Me.NewRow,PublishersRow)
End Function
Protected Overrides Function NewRowFromBuilder(ByVal builder As DataRowBuilder) As DataRow
Return New PublishersRow(builder)
End Function
Protected Overrides Function GetRowType() As System.Type
Return GetType(PublishersRow)
End Function
Protected Overrides Sub OnRowChanged(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanged(e)
If (Not (Me.PublishersRowChangedEvent) Is Nothing) Then
RaiseEvent PublishersRowChanged(Me, New PublishersRowChangeEvent(CType(e.Row,PublishersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowChanging(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanging(e)
If (Not (Me.PublishersRowChangingEvent) Is Nothing) Then
RaiseEvent PublishersRowChanging(Me, New PublishersRowChangeEvent(CType(e.Row,PublishersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleted(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleted(e)
If (Not (Me.PublishersRowDeletedEvent) Is Nothing) Then
RaiseEvent PublishersRowDeleted(Me, New PublishersRowChangeEvent(CType(e.Row,PublishersRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleting(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleting(e)
If (Not (Me.PublishersRowDeletingEvent) Is Nothing) Then
RaiseEvent PublishersRowDeleting(Me, New PublishersRowChangeEvent(CType(e.Row,PublishersRow), e.Action))
End If
End Sub
Public Sub RemovePublishersRow(ByVal row As PublishersRow)
Public Sub New(ByVal row As PublishersRow, ByVal action As DataRowAction)
MyBase.New
Me.eventRow = row
Me.eventAction = action
End Sub
Public ReadOnly Property Row As PublishersRow
Get
Return Me.eventRow
End Get
End Property
Public ReadOnly Property Action As DataRowAction
Get
Return Me.eventAction
End Get
End Property
End Class
<System.Diagnostics.DebuggerStepThrough()> _
Public Class TitlesDataTable
Inherits DataTable
Implements System.Collections.IEnumerable
Private columntitle_id As DataColumn
Private columntitle As DataColumn
Private columntype As DataColumn
Private columnpub_id As DataColumn
Private columnprice As DataColumn
Private columnadvance As DataColumn
Private columnroyalty As DataColumn
Private columnytd_sales As DataColumn
Private columnnotes As DataColumn
Private columnpubdate As DataColumn
Friend Sub New()
MyBase.New("Titles")
Me.InitClass
End Sub
Friend Sub New(ByVal table As DataTable)
MyBase.New(table.TableName)
If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
Me.CaseSensitive = table.CaseSensitive
End If
If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
Me.Locale = table.Locale
End If
If (table.Namespace <> table.DataSet.Namespace) Then
Me.Namespace = table.Namespace
End If
Me.Prefix = table.Prefix
Me.MinimumCapacity = table.MinimumCapacity
Me.DisplayExpression = table.DisplayExpression
End Sub
<System.ComponentModel.Browsable(false)> _
Public ReadOnly Property Count As Integer
Get
Return Me.Rows.Count
End Get
End Property
Friend ReadOnly Property title_idColumn As DataColumn
Get
Return Me.columntitle_id
End Get
End Property
Friend ReadOnly Property titleColumn As DataColumn
Get
Return Me.columntitle
End Get
End Property
Friend ReadOnly Property typeColumn As DataColumn
Get
Return Me.columntype
End Get
End Property
Friend ReadOnly Property pub_idColumn As DataColumn
Get
Return Me.columnpub_id
End Get
End Property
Friend ReadOnly Property priceColumn As DataColumn
Get
Return Me.columnprice
End Get
End Property
Friend ReadOnly Property advanceColumn As DataColumn
Get
Return Me.columnadvance
End Get
End Property
Friend ReadOnly Property royaltyColumn As DataColumn
Get
Return Me.columnroyalty
End Get
End Property
Friend ReadOnly Property ytd_salesColumn As DataColumn
Get
Return Me.columnytd_sales
End Get
End Property
Friend ReadOnly Property notesColumn As DataColumn
Get
Return Me.columnnotes
End Get
End Property
Friend ReadOnly Property pubdateColumn As DataColumn
Get
Return Me.columnpubdate
End Get
End Property
Public Default ReadOnly Property Item(ByVal index As Integer) As TitlesRow
Get
Return CType(Me.Rows(index),TitlesRow)
End Get
End Property
Public Event TitlesRowChanged As TitlesRowChangeEventHandler
Public Event TitlesRowChanging As TitlesRowChangeEventHandler
Public Event TitlesRowDeleted As TitlesRowChangeEventHandler
Public Event TitlesRowDeleting As TitlesRowChangeEventHandler
Public Overloads Sub AddTitlesRow(ByVal row As TitlesRow)
Me.Rows.Add(row)
End Sub
Public Overloads Function AddTitlesRow(ByVal title_id As String, ByVal title As String, ByVal type As String, ByVal parentPublishersRowByPubTitles As PublishersRow, ByVal price As Decimal, ByVal advance As Decimal, ByVal royalty As Integer, ByVal ytd_sales As Integer, ByVal notes As String, ByVal pubdate As Date) As TitlesRow
Dim rowTitlesRow As TitlesRow = CType(Me.NewRow,TitlesRow)